x86/EFI: retrieve EDID
authorJan Beulich <jbeulich@suse.com>
Thu, 7 Apr 2022 06:33:09 +0000 (08:33 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 7 Apr 2022 06:33:09 +0000 (08:33 +0200)
commit3d486def5085cfa3a938ba3b066a2515fb1a401a
treef03713dbba6a86e13b4e8e612f9ec2ca0addbeb3
parent0e58a6ceb6ef4e0c47acd3c7e48bb904c4d1a0a8
x86/EFI: retrieve EDID

When booting directly from EFI, obtaining this information from EFI is
the only possible way. And even when booting with a boot loader
interposed, it's more clean not to use legacy BIOS calls for this
purpose. (The downside being that there are no "capabilities" that we
can retrieve the EFI way.)

To achieve this we need to propagate the handle used to obtain the
EFI_GRAPHICS_OUTPUT_PROTOCOL instance for further obtaining an
EFI_EDID_*_PROTOCOL instance, which has been part of the spec since 2.5.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com> # Arm, common
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Bertrand Marquis <bertrand.marquis@arm.com> #arm
xen/arch/arm/efi/efi-boot.h
xen/arch/x86/boot/video.S
xen/arch/x86/efi/efi-boot.h
xen/common/efi/boot.c
xen/include/efi/efiprot.h